هناك شيء واحد مزعج في مفهوم Laravel RESTful – إذا كنت تريد أن يكون لديك ارتباطات خاصة بالتحرير أو الحذف في الجداول الخاصة بك، فإن عملية التحرير تتم بسهولة وذلك عن طريق رابط URL خاص بك سجل (record)، ولكن ماذا عن الحذف Delete.
يجب عليك إنشاء الإستمارة أو النموذج (form) بالكامل، فهل من الممكن تجنب عمل نموذخ لأجل عملية الحذف؟
في هذا المقال سنتعرف على طريقة لتجنب بناء استمارة أو نموذج من أجل زرار الحذف.
لعلك شاهدت أو استخدمت هذه الطريقة في عمليتي الحذف والتعديل:
<a href="{{ url('items/'.$row->id.'/edit') }}">Edit</a>
{{ Form::open(['route' => ['item.delete', $row->id], 'method' => 'delete']) }} <button type="submit">Delete</button> {{ Form::close() }}
ستجد أن في الطريقة السابقة استخدمنا النموذج الخاص بعملية الحذف ، ولكن ما الحاجة إلى بناء نموذج كامل من أجل عملية الحذف؟ هل هناك طريقة لجعل عملية الحذف بسهولة التعديل؟
الحاجة لبناء نموذج خاص بعملية الحذف تكمن في حماية بياناتك لأن في إطار العمل لارافيل يوجد حماية من هجمات CSRF ولأهمية الحفاظ على البيانات فإنك بحاجة لبناء نموذج للحذف.
تشعر بالإحباط! لا تقلق هناك طريقة تساعدك على تجنب بناء نموذج للحذف مع الحفاظ على حماية بياناتك، كل ما عليك هو استخدام هذا الكود المبني بجافاسكربت laravel.js ففي هذا الكود طريقة الإستخدام كتالي:
<!-- We want to send an HTTP DELETE request --> <a href="posts/2" data-method="delete"> <!-- Or, request confirmation in the process --> <a href="posts/2" data-method="delete" data-confirm="Are you sure?">
في رأيي الشخصي بناء نموذج خاص يجعل أكوادك البرمجية أكثر قابلية للقراءة من قبل المطورين حديثي الإنظمام إلى مشروعك، وليست مشكلة إذا قمت بعمل تنسيقات css خاصة بنموذج الحذف ليبدو كهيئة زرار حذف.
الأفضل استخدام النموذج form